feat: add Markdown filter for hand-authored question sets - #23
Open
m-messer wants to merge 1 commit into
Open
Conversation
A new "Markdown" filter parses a plain #/## markdown document into the
Set/Question/Part model:
- `#` -> new question (heading is the title)
- `##` -> new part
- `## Solution` -> worked solution for the current part (or the whole
question if it has no parts)
- `-a answers.md` -> `#` advances to the next question, body blocks become
worked solutions
This is the intermediate contract the wizard will emit and hand back for
review. runner() now runs in2lambda.validation.check_markdown over any
markdown input and echoes a warning per math-delimiter problem (non-fatal).
docs/source/filters.py learns to document a filter whose example is
example.md (shown inline) instead of example.tex (rendered to a PDF), so the
new filter is picked up by the existing autosummary generation.
Structure adapted from the Markdown2Lambda branch; the elaborate
\st/\fa/\ws/*** syntax there is dropped since the Set/Question/Part model
only has question text, part text and one worked solution per part.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017VXb8aZqgFBjoeuuddjW6r
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A new
Markdownfilter parses a plain#/##markdown document into theSet/Question/Partmodel:#→ new question (heading is the title)##→ new part## Solution→ worked solution for the current part (or the whole question if it has no parts)-a answers.md→#advances to the next question, body blocks become worked solutionsThis is the intermediate contract the wizard emits and hands back for review.
runner()now runscheck_markdown()over any markdown input and echoes a non-fatal warning per math-delimiter problem.docs/source/filters.pylearns to document a filter whose example isexample.md(shown inline) instead ofexample.tex(rendered to a PDF).Structure adapted from the
Markdown2Lambdabranch; the elaborate\st/\fa/\ws/***syntax is dropped since the model only has question text, part text and one worked solution per part.Stack: validator ← markdown-filter ← cli-group ← …
Base:
validator— #22.🤖 Generated with Claude Code